package com.hue.gulimail.gulimailorder.vo;

import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author: 姚凤桥
 * @Date: 2021/12/24 23:11
 * @Description: 订单确认模型
 */
public class OrderConfirmVo {
    /**
     * 用户的收货地址信息
     */
    @Getter
    @Setter
    private List<MemberAddressVo> memberAddressVos;

    /**
     * 所有选中的购物项
     */
    @Getter
    @Setter
    private List<OrderItemVo> orderItemVos;

    /**
     * 发票信息
     */

    /**
     * 用户积分信息
     */
    @Getter
    @Setter
    private Integer integration;

    /**
     * 订单应付金额
     */
    private BigDecimal payPrice;

    /**
     * 防重令牌(防止订单多次提交)
     */
    @Getter
    @Setter
    private String orderToken;

    /**
     * 获取订单总金额
     *
     * @return
     */
    public BigDecimal getTotalPrice() {
        BigDecimal totalPrice = new BigDecimal(0);
        if (orderItemVos != null) {
            for (OrderItemVo orderItemVo : orderItemVos) {
                totalPrice =
                        totalPrice.add(orderItemVo.getPrice().multiply(new BigDecimal(orderItemVo.getCount())));
            }
        }
        return totalPrice;
    }

    /**
     * 获取商品的总件数
     *
     * @return
     */
    public Integer getCount() {
        int count = 0;
        if (orderItemVos != null) {
            for (OrderItemVo item : orderItemVos) {
                count += item.getCount();
            }
        }
        return count;
    }
}
